/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package mx.its.dsw2.biblioteca.dao;

import java.util.List;
import javax.ejb.Stateless;
import javax.persistence.EntityManager;
import javax.persistence.PersistenceContext;
import javax.persistence.Query;
import mx.its.dsw2.biblioteca.Prestamo;
import mx.its.dsw2.biblioteca.Usuario;
import mx.its.dsw2.biblioteca.enumeracion.EstadoPrestamo;

/**
 *
 * @author chava
 */
@Stateless
public class PrestamoDao extends AbstractDao<Prestamo> implements PrestamoDaoLocal {

    @PersistenceContext(unitName = "Biblioteca-ejbPU")
    private EntityManager em;

    @Override
    protected EntityManager getEntityManager() {
        return em;
    }

    public PrestamoDao() {
        super(Prestamo.class);
    }

    @Override
    public List<Prestamo> findIncomplete(Usuario user) {
        Query q = em.createNamedQuery("Prestamo.findByIncomplete");
        q.setParameter("estado", EstadoPrestamo.PENDIENTE.ordinal());
        q.setParameter("idUsuario", user.getId());

        return q.getResultList();
    }

    @Override
    public List<Prestamo> findIncompleteLends() {
        Query q = em.createNamedQuery("Prestamo.findByEstado");
        q.setParameter("estado", EstadoPrestamo.PENDIENTE.ordinal());
        if (q.getResultList().isEmpty()) {
            return null;
        } else {
            return q.getResultList();
        }
    }
}
